package com.library.uiframework.paging;

import java.util.List;

/**
 *                <p>
 *                view of the mvp
 *                <p>
 *                Interface representing a View that will use to show load data.
 * @author xinpeng.xxp
 * @version 1.0.0
 */
public interface PagingDataLoadView {
    /**
     * @param dataList datalist
     */
    void flushData(List dataList);

    /**
     * @param dataList datalist
     */
    void appendData(List dataList);

    /**
     * Show a view to user, indicator loading next page
     */
    void showNextPageLoading();

    /**
     * Show a view to user, indicator load next page failed, click will retry
     */
    void showNextPageFailure();

    /**
     * Show a view to user, the next page is load success
     */
    void showNextPageSuccess();

    /**
     * Show a view to user, indicator load all page is load done
     */
    void showAllPageLoaded();

    /**
     * Show a view with a progress bar indicating a loading process.
     */
    void showLoading();

    /**
     * Show a failure view in case of an error when retrieving data.
     * @param message A string representing an error.
     */
    void showFailure(String message);

    /**
     */
    void showNoData();

    /**
     * Hide the loading/failure view. and show real content view
     */
    void showSuccess();

    /**
     * @return 数据是否为空
     */
    boolean isDataEmpty();

}
